package com.tanhua.dubbo.api;

import com.tanhua.model.enums.CommentType;
import com.tanhua.model.mongo.Comment;
import com.tanhua.model.vo.PageResult;

import java.util.List;

public interface CommentApi {

    /**
     * 查询动态评论列表
     * @param page
     * @param pagesize
     * @param movementId
     * @return
     */
    List<Comment> comments(int page, int pagesize, String movementId, CommentType commentType);

    /**
     * 保存评论
     * @param comment
     */
    Integer saveComments(Comment comment);

    /**
     * 判断当前评论是否点赞过或者喜欢过
     * @param movementId
     * @param commentType
     * @param userId
     * @return
     */
    boolean findComment(String movementId, CommentType commentType, Long userId);

    /**
     * 取消点赞或者喜欢
     * @param comment
     * @return
     */
    Integer delete(Comment comment);

    /**
     * 评论点赞
     * @param commentId
     * @return
     */
    Integer saveLikeCount(String commentId);

    /**
     * 评论取消点赞
     * @param commentId
     * @return
     */
    Integer dislike(String commentId);

    /**
     * 获取点赞人或者评论人的id
     * @param page
     * @param pagesize
     * @param commentType
     * @param userId
     * @return
     */
    List<Comment> findLikes(int page, int pagesize, CommentType commentType, Long userId);
}
